home *** CD-ROM | disk | FTP | other *** search
/ PC Media 2 / PC MEDIA CD02.iso / share / udos / fgrep103 / makedesc.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1992-05-29  |  822 b   |  34 lines

  1. #include "bm.h"
  2. #include "extern.h"
  3. #include "proto.h" /* N2 04-05-91 */
  4. #include <ctype.h> /* N2 04-05-91 */
  5. #include <alloc.h> /* N2 04-05-91 */
  6. /*
  7. extern char * malloc();
  8. extern char * toupper();
  9. */
  10.  
  11. /* makes a pattern descriptor */
  12. struct PattDesc *MakeDesc(char *Pattern) /* 11-28-91 */
  13.  {
  14.   char *j;
  15.   struct PattDesc *Desc;
  16.  
  17.   Desc = (struct PattDesc *) malloc(sizeof(struct PattDesc));
  18.   if (mFlag)
  19.    {
  20.     j = Pattern;
  21.     while (*j != NULL)
  22.      {
  23.       *j = toupper(*j);
  24.       ++j;
  25.      }
  26.    }
  27.   Desc->Skip1 = (int *)malloc(sizeof(int) * (MAXCHAR+1));
  28.   Desc->Skip2 = (int *)malloc(sizeof(int) * strlen(Pattern));
  29.   Desc->Pattern=Pattern;
  30.   Desc->PatLen = strlen(Desc->Pattern);
  31.   MakeSkip(Desc->Pattern,Desc->Skip1,Desc->Skip2,Desc->PatLen);
  32.   return(Desc);
  33.  } /* PattDesc */
  34.